package day04;

public class Demo02 {
	public static void main(String[] args) {
		test03(5);
	}

	// 练习0: 定义方法实现功能
	// 根据指定长宽在控制台输出如下图形
	//	* * * * * * *
	//	* *       * * i: 1, j: 5, column - 1 - i
	//	*   *   *   * i: 2, j: 4, column - 1 - i
	//	*     *     * i: 3, j: 3, column - 1 - i
	//	*   *   *   * i: 4, j: 2, column - 1 - i
	//	* *       * * i: 5, j: 1, column - 1 - i
	//	* * * * * * *
	public static void test01(int row, int column) {
		for (int i = 0; i < row; i++) {
			for (int j = 0; j < column; j++) {
				if (i == 0 || j == 0 || i == row - 1 || j == column - 1 || i == j || j == column - 1 - i) {
					System.out.print("* ");
					continue;
				}
				System.out.print("  ");

			}
			System.out.println();
		}
	}

	// 练习1: 定义方法实现功能
	// 根据指定列宽在控制台输出如下图形
	// 00000*
	// 0000* *
	// 000* * *
	// 00* * * *
	// 0* * * * *
	// * * * * * *
	//	public static void test02(int count) {
	//		for (int i = 0; i < count; i++) {
	//			for (int j = 0; j < count - 1 - i; j++) {
	//				System.out.print(" ");
	//			}
	//			for (int j = 0; j <= i; j++) {
	//				System.out.print("* ");
	//			}
	//			System.out.println();
	//		}
	//	}
	public static void test02(int count) {
		for (int i = 0; i < count; i++) {
			for (int j = 0; j < count; j++) {
				if (j < count - 1 - i) {
					System.out.print(" ");
				} else {
					System.out.print("* ");
				}
			}
			System.out.println();
		}
	}

	// 练习2: 定义方法实现功能
	// 根据指定列宽在控制台输出如下图形
	// count == 5
	//	0000*, i: 0, x: 1, j < 4, count - 1
	//	000***, i: 1, x: 3, j < 3, count - 2
	//	00*****, i: 2, x: 5, j < 2, count - 3
	//	0*******, i: 3, x: 7, j < 1, count - 4
	//	*********, i: 4, x: 9, j < 0, count - 5
	public static void test03(int count) {
		for (int i = 0, x = 1; i < count; i++, x += 2) {
			for (int j = 0; j < count + i; j++) {
				if (j < count + i - x) {
					System.out.print(" ");
				} else {
					System.out.print("*");
				}
			}
			System.out.println();
		}
	}

	// 练习3: 定义方法实现功能
	// 根据指定列宽在控制台输出如下图形
	//	    *
	//	   * *
	//	  * * *
	//	 * * * *
	//	* * * * *
	//	 * * * *
	//	  * * *
	//	   * *
	//	    *
	// 将练习1作为上半部分, 然后再打印一个与练习1相反的倒三角作为下半部分

	// 练习4: 定义方法实现功能
	// 从三个整数中找出最大值
	public static int findMax(int a, int b, int c) {
		//		int max = a > b && a > c ? a : b > a && b > c ? b : c;
		//		return max;
		return a > b && a > c ? a : b > a && b > c ? b : c;
	}

}
